home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Floppyshop 2
/
Floppyshop - 2.zip
/
Floppyshop - 2.iso
/
diskmags
/
0022-3.564
/
dmg-3449
/
text
/
stproger.txt
< prev
next >
Wrap
Text File
|
1992-02-24
|
25KB
|
712 lines
Message #1 of 37 on 'US ST Programmers'
Date : 23 Oct 91 00:21:02
From : Thierry Bousch
To : John Charles
Subj : Re: GFA Basic & ACCS
In a message of <17 Oct 91 23:07:00>, John Charles (2:252/25) writes:
JC> Most of the prog I'm trying to write works OK but I can't get it to
JC> recognise
JC> when an DESK ACC has been used so that the screen can be refreshed
JC> automatically instead of leaving that blank grey rectangle which so
JC> many progs
JC> show after an ACC has been used.
Remember: if you're writing a GEM program, you should never write directly onto
the screen, but in a window (the screen doesn't belong to you!). If you do so,
you'll never have trouble with desk accessories: they will automagically send a
WM_REDRAW message to your application: see the GEM Book for more details.
Thierry
--- LED 1.00
* Origin: Le Chiffre, Aix-en-Provence, France (2:320/100.9)
Message #2 of 37 on 'US ST Programmers' (Rec'd)
Date : 23 Oct 91 20:35:20
From : Peter Habing
To : Tony Barker
Subj : Starwars
Hello Tony,
Did you write Starwars demo for TT? If so, Then I want to say, "A very nice
Demo!".This is on HD en stays there!
Ciao Peter.
--- ScanMail 0.56bta
* Origin: (NL)Dutchman Point # 15 on TT 030/8 (2:280/3.15)
Message #3 of 37 on 'US ST Programmers' (Local)
Date : 30 Oct 91 13:40:48
From : Tony Barker
To : Peter Habing
Subj : (2) Re: Starwars
> Hello Tony,
> Did you write Starwars demo for TT? If so, Then I want to say, "A very
> nice Demo!".This is on HD en stays there!
> Ciao Peter.
I did indeed, and in a big rush. There is a bit of a story that goes with it as
well.
First I only had about 2 nights to do it in as I had a TT on loan from Atari
Australia, so it's not as good as it may have been. The reason I was in a rush
also was to get the demo in to Atari US for a competition they were running. I
made it in time but they disqualified it saying they were worried about breach
of copyright due to the Star wars images etc. Sooo I said fine I hereby
withdraw it, it is not for public release and should never be seen by the
public or anyone for that matter let alone Atari.
But lo and behold it seems that Atari have let it out, officially or not I
don't know or care, and have received the benefit that a reasonable demo for a
new machine brings them (you know how hard it is to sell a machine with nothing
to run on it.) and have obviously gone against my wishes and deprived me of a
chance to win a TT but still gained themselves.
Don't get me wrong I'm glad some people have seen it but it burns me up when I
think that they refused me entry into the competition and still released it.
Anyway, enough of my bloody whinging, I'm glad you liked it. If ever I have the
time I may release another, but I'm currently deep into this paint package for
the TT's 256 color mode. If you know of any publishers out there that might be
interested let them know.
Tony.
--- QuickBBS ST v1.06 PR+
* Origin: Atari User Group, NSW Australia ~ +61-2-664-1303 (3:712/520.0)
Message #9 of 37 on 'US ST Programmers'
Date : 06 Nov 91 00:20:48
From : Jon Webb
To : Daron Brewood
Subj : Re: GFA & Timestamp
> Does anyone know how to read the time/datestamp of a selected file in
> GFA basic??
There are a number of ways to do it. Easiest is:
IF EXIST(filename$)
dostime&=WORD{FGETDTA()+22}
dosdate&=WORD{FGETDTA()+24}
ENDIF
The 'EXIST' function will load the directory entry into the DTA. You could use
FSFIRST() instead, but the result is the same. DosTime& and DosDate& can be
decoded as described in the GEMDOS appendix under Tgetdate() and Tgettime().
Electronic Greetings! - Jon -
--- QuickNet ST v0.10 beta
* Origin: [ Quick SysOps do it with Hot Keys! ] (2:282/301.2)
Message #10 of 37 on 'US ST Programmers' (Rec'd)
Date : 06 Nov 91 00:26:04
From : Jon Webb
To : Tony Barker
Subj : Re: GFA Basic & ACCS
> I have a similar interest in a solution to this problem for a project
> I'm just about finishing, written in 'C' but the idea for the solution
> should be the same, so if you make any progress or get any clever
> replies please let me know.
It boils down to this - if you allow access to desk accessories (i.e. have a
menu bar), you should also use windows.
Electronic Greetings! - Jon -
--- QuickNet ST v0.10 beta
* Origin: [ Quick SysOps do it with Hot Keys! ] (2:282/301.2)
Message #18 of 37 on 'US ST Programmers' (Local)
Date : 17 Nov 91 15:44:56
From : Tony Barker
To : Peter Habing
Subj : (12) Re: Starwars Demo
I have basically finished the paint package (about 90%) and now just have to
search out a buyer. If all goes well I may release a demo version sometime in
the future.
I haven't yet received your post card but I do look forward to it, thanks.
Tony.
--- QuickBBS ST v1.06 PR+
* Origin: Atari User Group, NSW Australia ~ +61-2-664-1303 (3:712/520.0)
Message #29 of 37 on 'US ST Programmers'
Date : 29 Dec 91 00:35:36
From : Simon Lindsay
To : John Charles
Subj : Re: GFA Basic & ACCS
> A problem; for anybody who uses or abuses GFA Basic 3.5 on the ST:-
> when an DESK ACC has been used so that the screen can be refreshed
> automatically instead of leaving that blank grey rectangle which so many
The only way i have found to recognise when an accessory has been opened and
shut is to have a window open, using the Openw etc commands, not the
Wind_create etc.. then the messages as specified in the menu(x) section of the
manual work fine.. you will get a menu 40 or 41 when an accessory is closed.
I am glad to see someone else having the same problem. I tried for a coupe of
weeks to get around it, then abandoned the program entirely, then just last
week, tried something different, using the methid described above.. and it
worked !!!
Simon
-- QuickBBS ST v1.06 PR+
--- ScanMail 0.56bta
* Origin: Hopeful home of DeFrag. (3:680/842)
Message #31 of 37 on 'US ST Programmers'
Date : 07 Feb 92 18:44:40
From : Bart Van.Herk
To : Magic.Alex Badalic
Subj : Re: I would to like spek terminal.
In a message of <04 Feb 92 07:40:10>, Magic.Alex Badalic (2:331/317.1) writes:
> That is the main problem with all the speech sinthetyzers I've seen up
> to now: they all stick to the original language phonemes, and none of
> them can be programmed for us in an external, custom made module...
The problem is that not only are the sounds different for every language, also
the interpretation of them within words. You would have to rewrite the complete
algorithm for every language, not just replace the sounds. For example, the
word 'zeventien' (seventeen) in Dutch has three 'e's, the first is pronounced
like the 'a' in take, the second like the 'u' in bum, while the third is not
pronounced at all but modifies the preceding 'i' to sound like the 'ee' in
'teen', instead of like the 'i' in 'kid'.
Hartelijke groeten, * Bart *
--- LED 1.00t
* Origin: Bart's point, Rotterdam NL (2:281/801.5)
Message #35 of 37 on 'US ST Programmers'
Date : 09 Feb 92 10:57:04
From : Bart Van.Herk
To : Michael Fung
Subj : Re: C absolute call
In a message of <03 Feb 92 14:01:16>, Michael Fung (6:600/15) writes:
> Want to find out how to make a direct access to a memory location. For
> example, if I want to find/set the contents of address $4f2, how do I
> do it in C code??
char * p = (char *)0x4f2 ;
char x ;
x = *p ;
Hartelijke groeten, * Bart *
--- LED 1.00t
* Origin: Bart's point, Rotterdam NL (2:281/801.5)
Message #36 of 37 on 'US ST Programmers'
Date : 09 Feb 92 17:45:14
From : Diederik Hoogenboom
To : Michael Fung
Subj : Re: C absolute call
In a message of <03 Feb 92 14:01:16>, Michael Fung (6:600/15) writes:
MF> Hello all C programmers,
MF>
MF> Want to find out how to make a direct access to a memory location.
MF> For example, if I want to find/set the contents of address $4f2, how
MF> do I do it in C code??
MF>
MF> Greetings,
MF> Michael Fung
If the value on $4f2 is for example an integer you can do it like this:
value=*(int*)(0x4f2);
But before you do this you have to be sure that you are in supervisor-mode,
otherwise a buserror will occur. You can use Supervisor (gemdos 32) for that.
Greetz... ~Diederik~
--- Bermuda v1.00
* Origin: Galtan Six - We are the worst!! (2:281/801.9)
Message #37 of 37 on 'US ST Programmers'
Date : 08 Feb 92 14:11:22
From : Peter Kocourek
To : Michael Fung
Subj : Re: C absolute call
In a message of <03 Feb 92 14:01:16>, Michael Fung (6:600/15) writes:
MF> Want to find out how to make a direct access to a memory location. For
MF> example, if I want to find/set the contents of address $4f2, how do I
MF> do it in C code??
Simple (well, almost):
x = *(int *)0x4F2;
will read an int from address $4f2, but you must execute this in
supervisor-mode, so you'll need something like:
old_sp = Super(0L);
x = *(int *)0x4F";
Super(old_sp);
where old_sp is a long. To read anything other than an int, cast it to that
type: x= *(long *)0x4F2 etc.
YHS:QSI!
--- Bermuda v1.00
* Origin: On & On & On: The Bright Blue No Turning Back Point (2:282/301.17)
Message #1 of 21 on 'NeST 'C' Programming'
Date : 03 Dec 91 14:31:20
From : Dallas
To : All
Subj : C compilers
I have Turbo C++ and it takes up 6megs of hd space and has more bells and
whistles than a person teaching themselves can handle. I'm looking for a more
"standard" compiler that doesn't take up as much room and is lacking in bells
and whistles that I'll never use.
--- FIDOdoor 2.5.1 [Registered]
g themselves can handle. I'm looking for a more "standard" compiler that
doesn't take up as much room and is lacking in bells and whistles that I'll
never use.
90:3000/135)
3000/135 * Origin: DeadHead Ed's STeal Your Face HST/DS<908-920-7981>
(90:3000/489)
3/0 * Origin: AutoBoss_[Fnet19]_(US CrossNet GateWay)_Hst/v42/v32
(90:3/0)
2/0 * Origin: My Little Phoney [Atari ST], (+44)(0)793-849044
(90:1004/0)
Message #6 of 21 on 'NeST 'C' Programming'
Date : 26 Jan 92 23:37:54
From : Gary Gregson
To : ALL
Subj : RCS.PRG
Hi Guys,
I don't know wether anybody out there has any info on the resource
construction kit program.....but if they do I'd love to get my hands on it.
For normal dialog construction etc. it seem pretty straight forward, but
recently I've been trying to include some Icons and free images into my
resources but I can't work out the LOAD formats. Anyone got any idea what they
are? I've tried straight bitmaps, .XBM (C ascii type format), Hex dumps,
Iconblock definitions etc..etc. But all I get is garbage and out of memory
errors!!! I've worked round it by coding the images into the my main C sources
and then placing them into the tree after resource load.. but this is a bit
tedious.
Any info or help will be most appreciated.
Gary
--- TIDY_UP 1.3 dfad
* Origin: STUN point 6 (90:1008/104)
Message #7 of 21 on 'NeST 'C' Programming'
Date : 27 Jan 92 19:49:00
From : Steve Caple
To : Adam Holyoak
Subj : (2) Re: C compilers
Gety either Pure-C, which I haven't got my sticky mits on yet, or Lattice C
V5.5 when it appears... Pricey, but the best 2 about i think... I use Lattice
at the moment, but I'm gonna Switch as soon as I can Track down Pure-C ;-))
If you can't already write C progs, start off with Sozobon C... it's PD, and
we've all got a copy of it somewhere!!
Ste\/e
--- TIDY_UP 1.31 21ad
* Origin: ~///Reachout Crewe~<+44-(0)270-583-287> (90:5000/1050)
Message #8 of 21 on 'NeST 'C' Programming'
Date : 27 Jan 92 19:31:00
From : Steve Caple
To : Gary Gregson
Subj : (6) RCS.PRG
In message 1050/25/5, Gary Gregson writes:
> :From Gary Gregson
> Hi Guys,
> I don't know wether anybody out there has any info on the resour
> construction kit program.....but if they do I'd love to get my hands on
>
> For normal dialog construction etc. it seem pretty straight forward, but
> recently I've been trying to include some Icons and free images into my
> resources but I can't work out the LOAD formats. Anyone got any idea wha
> they are? I've tried straight bitmaps, .XBM (C ascii type format), Hex
> dumps, Iconblock definitions etc..etc. But all I get is garbage and out
> memory errors!!! I've worked round it by coding the images into the my m
> C sources and then placing them into the tree after resource load.. but
> this is a bit tedious.
>
> Any info or help will be most appreciated.
>
> Gary
>
> * Origin: STUN point 6 (90:1008/104)
Hi Guy...
Have you got DEGAS ELITE??
If so run up a 64x64 ICN file and save it off... it'll load straight into
RCS2 as an image, or as an ICON... you can use othersizes for Free Images
There are ICN editors around in the PD, but I always used DEGAS, cos I was
too idle to learn to use anything else .. hehe
IT works guy.... check out any of my ChipRat Software stuff that's
flying about in PD, I did all those with it!!
Ste\/e ... who's gonna get an ICN editor for RCS2 someday....
--- TIDY_UP 1.31 21ad
* Origin: ~///Reachout Crewe~<+44-(0)270-583-287> (90:5000/1050)
Message #10 of 21 on 'NeST 'C' Programming'
Date : 27 Jan 92 20:11:46
From : Peter Kocourek
To : Geoff Gunner
Subj : (3) Re: ANSI 'C'
In a message of <24 Jan 92 20:50:00>, Geoff Gunner (90:5000/1050) writes:
GG> Hiya Steve ! Well, dunno about Turbo 'C' - I've got a few issues of
GG> the U.K C users group magazine; it may be in there. Anyway, I didn't
GG> think there *WAS* an ANSI 'C' for the ST yet. *OR* a C++ (sniff,
GG> sob!). Apparently Lattice are bringing out a new version - it may be
GG> both ANSI and C++ !! (now there's something to drool over.)
There is an ANSI C, and it's now called Pure C, the successor to Turbo C.
There's also GNU C++ (or whatever it's called) for the ST.
YHS:QSI!
--- Bermuda v1.00
* Origin: Chastity is its own punishment. (90:4001/0.17)
Message #11 of 21 on 'NeST 'C' Programming'
Date : 29 Jan 92 12:31:34
From : Steven Green
To : Peter Kocourek
Subj : (10) Re: ANSI 'C'
Here's a small comparison between ST ANSI compilers (they may not be strictly
ANSI, but they are close enough as far as most people are concerned.. besides
It concerns a program to generate file lists on my BBS.
| Pure C | Lattice C5 | Gnu C++ |
>-------------------------+---------+-------------+-------------+
Program Size (bytes) | 12907 | 20908 | 33411 |
>-------------------------+---------+-------------+-------------|
Execution Time (seconds) | 36.54 | 47.11 | 43.24 |
>-------------------------+---------+-------------+-------------|
Compile&Link time (sec) | 9.9 | 30.18 | 40.71 |
(without optimisation) | --- | 22.89 | 35.88 |
>-------------------------+---------+-------------+-------------.
This was timed using Craft's time function (PureC's compile time was
timed with a stop watch since it was done from the integrated
environment) and was the time to process my file lists consisting of
2004 files in 18 areas, producing an allfiles list of 252254 bytes and a
newfiles (60 days) of 24794 bytes. All versions produced identical
files. Lattice and Gnu both had optimisation enabled (PureC optimises by
default). A Ramdisk was used for temporary files for Lattice and GnuC.
- STeVeN
--- ScanMail 0.65 beta
* Origin: My Little Phoney, +44-793-849044 (90:1004/0.2)
Message #12 of 21 on 'NeST 'C' Programming'
Date : 31 Jan 92 11:35:06
From : Steven Green
To : Iain Paton
Subj : Re: TOS v.3.01?
In a message of <29 Jan 92 15:53:34>, Iain Paton (2:259/5) writes:
IP> Compact code doesn't always imply speed, more often it implies lack
IP> of speed. IME something programmed to run _fast_ will take up more
IP> space. OTOH efficient code is the best tradeoff between speed/size.
IP> Most compilers produce broadly similar code, but some waste less time
IP> on things that don't really need doing, hence smaller code - doing
IP> the same thing - can seem to run faster..
I don't know, this may be true with hand coded assembly language, where you
might use techniques such as unwrapping loops, using big look up tables, etc,
but not with code generated by compilers, I think in general size and speed are
related. e.g. take a simple example:
func(1,20,0);
Some compilers will generate code such as:
move #1,d0 ; Some compilers may use moveq here.
move d0,-(sp)
move #20,d0
move d0,-(sp)
move #0,d0 ; Again a moveq or a clr could be used here
move d0,-(sp)
jsr _func
add.l #4,sp
Others will do it in the faster and more compact:
move #1,-(sp)
move #20,-(sp)
clr.w -(sp)
jsr _func
addq.l #4,sp
Others will replace the move # with moveq.
PureC or Lattice using the -rr switch would do it like:
moveq #1,d0
moveq #2,d1
clr d2
bsr _func
Even cases of built in functions can be the same sort of size as calling a
function.
strcpy(s,s1);
might compile to:
pea s1 ; time/size depends on s1
pea s ; time/size depends on s
jsr _strcpy ; 3 words
lea 8(sp),sp ; 2 words
but is slower and takes more memory than the hard coded:
lea s,a0 ; same size as pea s
lea s1,a1 ; same size as pea s1
@@loop:
move.b (a1)+,(a0)+ ; 1 word
dbeq @@loop ; 2 words
Thus the faster hard coded version is 4 bytes shorter!
Another common case is something like:
char c = *s++;
This could be as simple as:
If s and c are register variables then this could be as short as:
move.b (a0)+,d0
But inefficent compilers will do all sorts of things with effective
addresses and things, in some cases you may even get something as
convoluted as:
lea <s>,a0
move.l (a0),a1
move.b (a1),d0
ext.w d0
move d0,-(sp)
move.l (a0),d0
addi.w #1,d0
move.l d0,(a0)
move (sp)+,d0
I remember some years ago looking at the output of a CP/M 8080 C Compiler and
its output was just full of horrendous indirections of DE and HL registers and
pushing and popping, bearing no relation to what a real assembler program would
have done. It wasn't until I started using 8086 machines that I really trusted
C compilers enough to generate efficient code and even now I estimate that
compiled code is at least twice as big and half as fast as hand coded assembly
language.
- STeVeN
--- ScanMail 0.60bta
* Origin: My Little Phoney, +44-793-849044 (90:1004/0.2)
Message #13 of 21 on 'NeST 'C' Programming'
Date : 31 Jan 92 17:55:08
From : Peter Kocourek
To : Steven Green
Subj : Trigraphs
In a message of <29 Jan 92 12:31:34>, Steven Green (90:1004/0.2) writes:
SG> Here's a small comparison between ST ANSI compilers (they may not be
SG> strictly ANSI, but they are close enough as far as most people are
SG> concerned.. besides what exactly IS a trigraph???!). It concerns a
A trigraph is a (on the ST useless) bit compatibility maintaining feature, for
the benefit of very old terminals, which do not have characters such as {}~\
etc. If I remember correctly, trigraphs replace these with sequences of three
characters, such as //( for { or something like that. You can safely forget
about them.
YHS:QSI!
--- Bermuda v1.00
* Origin: Cobol programmers are down in the dumps. (90:4001/0.17)
Message #14 of 21 on 'NeST 'C' Programming'
Date : 01 Feb 92 20:33:36
From : Adam Holyoak
To : Steve Caple
Subj : (7) Re: C compilers
> and we've all got a copy of it somewhere!!
Hi Steve!
Yes I too have a copy of sozobon C and it is a great PD compiler. I think I
will get the Lattice C v5.5. I have heard from many people it is the best.
Currently I use Sozobon, Mark Johnson and Turbo C.
See ya,
Dolphin.
--- QuickBBS ST v1.06
* Origin: applinit()...Think about it - STarlink BBS /|\ (0:0/0.0)
Message #15 of 21 on 'NeST 'C' Programming'
Date : 01 Feb 92 13:07:26
From : David Thomas
To : Steven Green
Subj : (12) Re: TOS v.3.01?
In a message of <31 Jan 92 11:35:06>, Steven Green (90:1004/0.2) writes:
SG> move #0,d0 ; Again a moveq or a clr could be used here
Incidentally, moveq is 2 cycles faster than clr and the same byte count...
SG> lea s1,a1 ; same size as pea s1
SG> @@loop:
SG> move.b (a1)+,(a0)+ ; 1 word
SG> dbeq @@loop ; 2 words
^^^^
Wrong syntax! Maybe bne was meant?
SG> and even now I estimate that compiled code is at least twice as big and
SG> half as fast as hand coded assembly language.
Yes, it's a pity ASM takes so much longer... But since I don't have a compiler
(well, bar Gnu, Sozobon and other freeware offerings) all my standalone
.PRG/.TOS/.TTP have been written using ASM... And I do like programming from
the system level; there may be fewer commands, but that has the advantage that
there is less to remember, and you're not digging around reference guides all
the time...
Dave
--- IOSmail 0.82beta
* Origin: TheDreamMachine [DS] +44-222-341713 [2300-0800hrs] (90:1004/102)
Message #16 of 21 on 'NeST 'C' Programming'
Date : 06 Jan 89 18:58:56
From : Diederik Hoogenboom
To : Peter Kocourek
Subj : (10) Re: ANSI 'C'
In a message of <27 Jan 92 20:11:46>, Peter Kocourek (90:4001/0.17) writes:
PK> There is an ANSI C, and it's now called Pure C, the successor to
PK> Turbo C. There's also GNU C++ (or whatever it's called) for the ST.
The latter is even PD!! Although it takes quite some harddisk and memory space.
Greetz... ~Diederik~
--- Bermuda v1.00
* Origin: Galtan Six - We are the worst!! (90:4001/2.9)
Message #17 of 21 on 'NeST 'C' Programming'
Date : 30 Jan 92 20:43:20
From : Louis Lagendijk
To : Geoff Gunner
Subj : (3) Re: ANSI 'C'
Hi Geoff,
In a message of <24 Jan 92 20:50:00>, Geoff Gunner (90:5000/1050) writes:
GG> Hiya Steve ! Well, dunno about Turbo 'C' - I've got a few issues of
GG> the U.K C users group magazine; it may be in there. Anyway, I didn't
GG> think there *WAS* an ANSI 'C' for the ST yet. *OR* a C++ (sniff,
There is even a freeware Ansi C-compiler: GNU-C. It has only one
drawback: it requires a lot of memory. Preferably 2M or more. But who cares
about that nowadays. There is also a (freeware ) GNU C++. Requires also at
least 2M.
Cheers, Louis
--- Bermuda v1.00
* Origin: Louis Lagendijk, Ridderkerk (90:4001/202.5)
Message #18 of 21 on 'NeST 'C' Programming'
Date : 02 Feb 92 14:02:48
From : Iain Paton
To : Steven Green
Subj : (12) Re: TOS v.3.01?
In a message of <31 Jan 92 11:35:06>, Steven Green (90:1004/0.2) writes:
SG> In a message of <29 Jan 92 15:53:34>, Iain Paton (2:259/5)
SG> writes:
IP>> Compact code doesn't always imply speed, more often it implies
IP>> lack of speed. IME something programmed to run _fast_ will take
IP>> up more space. OTOH efficient code is the best tradeoff between
IP>> speed/size. Most compilers produce broadly similar code, but
IP>> some waste less time on things that don't really need doing,
IP>> hence smaller code - doing the same thing - can seem to run
IP>> faster..
SG>
SG> I don't know, this may be true with hand coded assembly language,
SG> where you might use techniques such as unwrapping loops, using
SG> big look up tables, etc, but not with code generated by compilers,
SG> I think in general size and speed are related. e.g. take a simple
That's more or less what I meant, a compiler that produces better code runs
faster with the same source input. You can still unwrap the loops in C or
whatever too.. It depends really on how you tend to code things, I learned
'programming' in Z80 assembler and will always tend to apply what I learned
there to programming elsewhere, so I still do unwrap loops for speed (and my
programs probably look a mess too !)
SG> C compilers enough to generate efficient code and even now I
SG> estimate that compiled code is at least twice as big and half as
SG> fast as hand coded assembly language.
Yes, although there must be a trade off somewhere over how fast you need it to
run and how much time you have to spend writing it - that's the only reason I
moved away from assembler, I no longer have time to write the code that way,
and don't have any time critical applications.....
Iain
--- TIDY_UP 1.31 8cd9
* Origin: Are you a real programmer ? (90:5001/0)